A number of techniques have been developed to remotely manage the operation of computer servers in a manner that provides accessibility, consistency, and efficiency. Remote management allows the removal of input/output interfaces (e.g., monitors, keyboards, and mice) for the servers. For example, large data centers containing numerous servers that are commonly managed using a variety of remote management tools, such as simple terminal connections, remote desktop applications, and other software tools for configuring, monitoring, and troubleshooting server hardware and software.
In a typical computer system (e.g., a rack server in a data center) a BIOS software program is stored on a BIOS chip located on a motherboard of the computer system. The BIOS stores firmware executed by a central processing unit (CPU) of the computer system, prior to loading the operating system, when the computer system is first powered on along with a set of configurations specified for the BIOS. The BIOS firmware and BIOS configurations are typically stored in a non-volatile memory such as a non-volatile random-access memory (NVRAM) or a read-only memory (ROM). Based on the BIOS, the CPU will then execute a series of tasks to recognize, initialize, and test hardware present in the computing system based on the set of configurations. The BIOS then allows the CPU of the computer system to load an operating system (OS).
The BIOS software provides an interface that allows a variety of different parameters to be set. For example, the interface may be used to specify clock and bus speeds, specify what peripherals are attached to the computer system, specify monitoring of health (e.g., fan speeds and CPU temperature limits), and specify a variety of other parameters that affect overall performance and power usage of the computer system.
Servers may be used by different data centers with different computing needs. However, typical servers are preloaded with a single BIOS default configuration that may not be optimal for the differing needs of the customers. In addition, BIOS configurations for servers are often complicated and may be closely tied to hardware combinations in each rack server. Traditionally, the administrator needs a human-to-machine interface and an OS application to change the BIOS configurations for rack servers, which limits the initial configuration of the rack servers.